<?php

error_reporting(E_ALL);

/**
 * ConexionBD - class.funcReg.php
 *
 * $Id$
 *
 * This file is part of ConexionBD.
 *
 * Automatically generated on 23.04.2010, 18:35:07 with ArgoUML PHP module 
 * (last revised $Date: 2008-04-19 08:22:08 +0200 (Sat, 19 Apr 2008) $)
 *
 * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
 */

if (0 > version_compare(PHP_VERSION, '5')) {
    die('This file was generated for PHP 5');
}

/**
 * include ConexionBD
 *
 * @author Miguel Angel Chavez Obregon
 * @see Funcion con operativas basicas a la base de datos, cualquier metodo que se requiera hacer que no sea directo a la base de datos debera crear una clase que haga extend a esta.
 * @version 1.0
 */
require_once('class.ConexionBD.php');

/**
 * include registro
 *
 * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
 */
require_once('interface.registro.php');

/* user defined includes */
// section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001121-includes begin
// section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001121-includes end

/* user defined constants */
// section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001121-constants begin
// section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001121-constants end

/**
 * Short description of class funcReg
 *
 * @access public
 * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
 */
class funcReg
    extends ConexionBD
        implements registro
{
    // --- ASSOCIATIONS ---


    // --- ATTRIBUTES ---

    // --- OPERATIONS ---

    /**
     * Short description of method buscPaciente
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int nTipoPaciente
     * @param  int cPaterno
     * @param  int cMaterno
     * @param  int cNombre
     * @param  int curp
     * @param  int dia
     * @param  int mes
     * @param  int anio
     * @return void
     */
    public function buscPaciente($nTipoPaciente, $cPaterno, $cMaterno, $cNombre, $curp, $dia, $mes, $anio)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000117B begin
        require_once('class.fechas.php');
        $stp = mssql_init("SP_buscaPacienteReg", $this->link);
        mssql_bind($stp, '@paterno', $cPaterno, SQLVARCHAR, false, false, 30);
        mssql_bind($stp, '@materno', $cMaterno, SQLVARCHAR, false, false, 30);
        mssql_bind($stp, '@nombre',  $cNombre,  SQLVARCHAR, false, false, 30);
        mssql_bind($stp, '@curp',    $curp,     SQLVARCHAR, false, false, 30);
        mssql_bind($stp, '@dia',     $dia,      SQLVARCHAR, false, false, 2);
        mssql_bind($stp, '@mes',     $mes,      SQLVARCHAR, false, false, 2);
        mssql_bind($stp, '@anio',    $anio,     SQLVARCHAR, false, false, 4);

        $idUnidad = $_SESSION['idunidad'];
        $fecha = new fechas();
        
        $resultSet=mssql_execute($stp);
        $html="
       <table width='750' align='center' cellpadding='2' cellspacing='2'  border='0' class='cuadro2 datos'>";
        $fondo = '';

        if (mssql_num_rows($resultSet) > 0 ) {
            $html.= "
  <tr>
    <td height=\"23\" colspan=\"7\" bgcolor=\"#F8B145\" class=\"nombres estilo1\">
    <b>2. LISTA DE COINCIDENCIAS.</b></td>
  </tr>
   <tr bgcolor='#CCCCCC'>
  <td class=\"datos\"><strong>UNIDAD M&Eacute;DICA</strong></td>
    <td class=\"datos\"><strong>PACIENTE</strong></td>
    <td align=\"center\" class=\"datos\"><strong>CURP</strong></td>
    <td align=\"center\" class=\"datos\"><strong>FECHA DE NACIMIENTO</strong></td>
    <td align=\"center\" class=\"datos\"><strong>INFORMACI&Oacute;N DEL PACIENTE</strong></td>
    <td align=\"center\" class=\"datos\"><strong>FECHA DE INGRESO</strong></td>
    <td align=\"center\" class=\"datos\"><strong>CEDULA DEL PACIENTE</strong></td>
  </tr>";            

            while($datos = mssql_fetch_array($resultSet)) {                
                $fSintoma_ini = $fecha->convertdate5($datos['fSintoma_inicial']);                
                $diasDif = $fecha->diferenciaFechas($fSintoma_ini);                
                $fondo = $fondo=='#f3f3f3'?'#FFFFFF':'#f3f3f3';
                $html.= "<tr bgcolor='$fondo'>";
                for ($i=0; $i<=6; $i++) {
                    $html.='<td class=\'datos\' align=\'center\'>';
                    if ($i==1) {
                        if ($_SESSION['perfil'] !=3 && $_SESSION['perfil'] != 5) {
                            if(($nTipoPaciente != $datos["nTipoPaciente"]) || ($idUnidad != $datos["iduni"]) || ($diasDif > 90)){
                                $html.= "<a href='#' onclick='validar($datos[id_g],$nTipoPaciente,$datos[nStatus],$datos[id_reg])'>".$datos[$i]."</a>";                            
                            } else {
                                $html.= $datos[$i]; //nombre completo del paciente
                            }
                        } else {                            
                            if ($_SESSION['perfil'] == 3) {
                                if ($datos['idse'] != $nPerfil || $datos['idde'] != $_SEESION['iddelegacion'])  {
                                    $html.= $datos[$i];
                                } else {
                                    $html.= "<a href='#' onclick='liga(\"registroPacientes/datos_generales.php?id_generales=$datos[id_g]&id_principal=$datos[id_reg]&nTipoPaciente=$datos[nTipoPaciente]\",\"inicio\")'>".$datos[$i]."</a>";
                                }
                            }
                            if ($_SESSION['perfil'] == 5) {
                                $html.= "<a href='#' onclick='liga(\"registroPacientes/datos_generales.php?id_generales=$datos[id_g]&id_principal=$datos[id_reg]&nTipoPaciente=$datos[nTipoPaciente]\",\"inicio\")'>".$datos[$i]."</a>";
                            }
                        }
                    } else if ($i==3) {
                        $fNac = $datos["nDias"]."-".$datos["nMeses"]."-".$datos["nAnio"];
                        $html.= $fNac;
                    } else if ($i==4) {
                        if ($datos["nStatus"]==1) $html.= "COMPLETA";
                        else $html.= "INCOMPLETA";
                    } else if ($i==5) {
                        $html.= $datos['fIngreso'];
                    } else if ($i==6) {
                        $html.= "<a href='imp_cedula.php?id_muestras=".$datos['id_muestras']."&id_reg=".$datos['id_reg']."&id_principal=".$datos["id_g"]."' target='_blank'>ver cedula</a>";
                    } else {
                        $html.= $datos[$i];
                    }
                    $html.= "</td>";
                }
                $html.= "</tr>";
            }
        } else {
            $html.= "<tr>
                        <td height=\'25\" colspan=\'6\'  align=\'center\' class=\'nombres estilo1\'>";
            if($_SESSION['perfil'] != 3 && $_SESSION['perfil'] != 5) {
                 $html.= "<b>El paciente que busca no existe si desea agregarlo de <a href=\"#\" onclick='lista_p(\"registroPacientes/datos_generales.php?x=1&nTipoPaciente=$nTipoPaciente&cPaterno=$cPaterno&cMaterno=$cMaterno&cNombre=$cNombre&curp=$curp&nDias=$dia&nMeses=$mes&nAnio=$anio\", \"inicio\")'>clic aqui</a></b>";
            } else {
                $html.= "<b>El paciente que busca no existe</b>";
            }
            $html.= "</td>
                    </tr>";
        }
        $html.= "</table>";
        mssql_free_statement($stp);
        return $html;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000117B end
    }

    /**
     * Short description of method limpia_cadena
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int cadena
     * @return void
     */
    public function limpia_cadena($cadena)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000117D begin
        $cadena = str_replace("'","",$cadena);
	$cadena = str_replace("/","",$cadena);
	$cadena = str_replace("#","",$cadena);
	$cadena = str_replace(";","",$cadena);
	$cadena = str_replace("%","",$cadena);
	$cadena = str_replace("|","",$cadena);
	return $cadena;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000117D end
    }

    /**
     * Short description of method cmbNacionalidad
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbNacionalidad($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000117F begin
         return $this->creaCombo("SP_cmbNacionalidad","nNacionalidad", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000117F end
    }

    /**
     * Short description of method cmbPaises
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbPaises($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001181 begin
        return $this->creaCombo("SP_cmbPaises","nPais_Nacimiento", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001181 end
    }

    /**
     * Short description of method cmbEntidades
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int name
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbEntidades($name, $id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001183 begin
         if ($name == '') $name = $id;
        return $this->creaCombo("SP_listaEstados",$name, $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001183 end
    }



    /**
     * Short description of method cmbSexo
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbSexo($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001257 begin
        return $this->creaCombo("SP_cmbSexo","nSexo", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001257 end
    }


    /**
     * Short description of method cmbDecision
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int name
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbDecision($name, $id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001187 begin
        if ($name == '') $name = $id;
        return $this->creaCombo("SP_cmbDecision",$name, $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001187 end
    }

    /**
     * Short description of method cmbDecisionA
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int name
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbDecisionA($name, $id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001189 begin
        if ($name == '') $name = $id;
        return $this->creaCombo("SP_cmbDecision_A",$name, $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001189 end
    }

    /**
     * Short description of method cmbEmbarazadas
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbEmbarazadas($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000118B begin
        return $this->creaCombo("SP_cmbEmbarazadas","nMesesE", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000118B end
    }

    /**
     * Short description of method cmbMunicipios
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @param  int
     * @return void
     */
    public function cmbMunicipios($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000118D begin
        return $this->creaCombo("SP_cmbMunicipios","nMunicipio", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000118D end
    }

    /**
     * Short description of method cmbLocalidades
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbLocalidades($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000118F begin
        return $this->creaCombo("SP_cmbLocalidades","nLocalidad", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000118F end
    }

    /**
     * Short description of method cmbOcupacion
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbOcupacion($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001191 begin
        return $this->creaCombo("SP_cmbOcupacion","nOcupacion", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001191 end
    }

    /**
     * Short description of method cmbServicios
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbServicios($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001193 begin
        return $this->creaCombo("SP_cmbServicios","id_servicio", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001193 end
    }

    /**
     * Short description of method cmbAntivirales
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int name
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbAntivirales($name, $id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001195 begin
        return $this->creaCombo("SP_cmbAntivirales",$name, $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001195 end
    }

    /**
     * Short description of method cmbSintomas
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbSintomas($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001197 begin
        return $this->creaCombo("SP_catSintomas","nDiagnostico", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001197 end
    }

    /**
     * Short description of method cmbLaboratorios
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbLaboratorios($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001199 begin
        return $this->creaCombo("SP_cmbLab","nLaboratorio", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:0000000000001199 end
    }

    /**
     * Short description of method cmbProcReg
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbProcReg($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000119B begin
        return $this->creaCombo("SP_cmbProcReg","nTipoMuestra", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000119B end
    }

    /**
     * Short description of method cmbEvolucion
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id
     * @param  int onChange
     * @param  int status
     * @param  int default
     * @param  int param
     * @return void
     */
    public function cmbEvolucion($id, $onChange, $status, $default, $param)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000119D begin
        return $this->creaCombo("SP_cmbEvolucion","nEvolucion", $id, $onChange, $status, $default, $param);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000119D end
    }

    /**
     * Short description of method navegacion
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_generales
     * @param  int id_principal
     * @param  int nTipoPaciente
     * @param  int npag
     * @param  int nuevoe
     * @return void
     */
    public function navegacion($id_generales, $id_principal, $nTipoPaciente, $npag, $nuevoe)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000119F begin
         if($npag == 1){
            $div = "inicio";
            $pagina ="registroPacientes/datos_generales.php?id_generales=$id_generales&id_principal=$id_principal&nTipoPaciente=$nTipoPaciente&nuevoe=$nuevoe";
	}else if($npag == 2){
            $div = "general";
            $pagina ="registroPacientes/datos_clinicos.php?id_principal=$id_principal&id_generales=$id_generales&npag=1&nTipoPaciente=$nTipoPaciente&nuevoe=$nuevoe";
	}
        $navegacion = "<style type=\"text/css\">
        <!--
        body {
            margin-left: 0px;
            margin-top: 0px;
            margin-right: 0px;
            margin-bottom: 0px;
        }
        -->
        </style>
        <link href=\"css/estilos.css\" rel=\"stylesheet\" type=\"text/css\" />
        <table width=\"750\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"datos cuadro\">
        <tr>
        <td><a href=\"#\" onClick=\"liga('$pagina','$div')\"><-- SECCION ANTERIOR</a></td>
        <td>&nbsp;</td>
        </tr>
        </table>";
        return $navegacion;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:000000000000119F end
    }

    /**
     * Short description of method listbox_field4
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int name
     * @param  int default
     * @return void
     */
    public function listbox_field4($name, $default)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A1 begin
        $sql = "select id_sintomas,sintoma from cat_sintomas where nTipo = 3";
        $query = mssql_query($sql,$this->link) or die(mssql_error());
	$result="<select name=\"$name\" id=\"$name\" class=\"datos\">\n";
	$result.="<option value='' selected>--></option>";
	while (list($key,$val)= mssql_fetch_array($query)) {
		 if ($default == $key) {$selected="selected";} else {$selected="";}
		   $result.="<option value=\"$key\" $selected>$val</option>\n";
	}
	$result.="</select>\n";
	return $result;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A1 end
    }

    /**
     * Short description of method viajes
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @return void
     */
    public function viajes($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A3 begin
        $sql="select * from aux_viajes where id_principal = $id_principal ";
	$qry = mssql_query($sql,$this->link) or die(mssql_get_last_message());
	$num_viajes = mssql_num_rows($qry);
        return $num_viajes;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A3 end
    }

    /**
     * Short description of method calculaRFC
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int cNombre
     * @param  int cPaterno
     * @param  int cMaterno
     * @param  int fNacimiento
     * @param  int nEntidad_Nacimiento
     * @param  int nSexo
     * @return void
     */
    public function calculaRFC($cNombre, $cPaterno, $cMaterno, $fNacimiento, $nEntidad_Nacimiento, $nSexo)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A5 begin
        $sql_curp="select [Catalogos].[dbo].[UF_CURP] ('$cNombre','$cPaterno','$cMaterno','$fNacimiento','$nEntidad_Nacimiento','$nSexo') as curp";
        $res = mssql_query($sql_curp);
        return mssql_fetch_array($res);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A5 end
    }

    /**
     * Short description of method consultaRegistro
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int cNombre
     * @param  int cPaterno
     * @param  int cMaterno
     * @param  int id_unidad
     * @param  int nSexo
     * @param  int nEntidad
     * @param  int nMunicipio
     * @param  int curp
     * @return void
     */
    public function consultaRegistro($cNombre, $cPaterno, $cMaterno, $id_unidad, $nSexo, $nEntidad, $nMunicipio, $curp)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A7 begin
         $sqlc = "SELECT * FROM dat_generales
                 WHERE (cNombre = '$cNombre' and cPaterno = '$cPaterno' and cMaterno = '$cMaterno'
                 and id_unidad = '$id_unidad' and nSexo = '$nSexo' and nEntidad = '$nEntidad'
                 and nMunicipio = '$nMunicipio') or curp = '$curp'";
        //print $sqlc."<br>";
        $resc = mssql_query($sqlc,$this->link);
	$datosc = mssql_num_rows($resc);
        if ($datosc > 0 && $id_generales > 0) {
            while($datos_pac = mssql_fetch_array($resc)){
                if ($datos_pac['id_principal'] != $id_generales) {
                    $datosc = '-1';
                    break;
                }
            }
        }
        return $datosc;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A7 end
    }

    /**
     * Short description of method querySQL
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_generales
     * @param  int id_principal
     * @param  int tabla
     * @param  int fechas
     * @param  int arreglo
     * @return void
     */
    public function querySQL($id_generales, $id_principal, $tabla, $fechas, $arreglo)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A9 begin
        $dHoy = date("Ymd H:i:s");
	if (!$id_principal > 0) {
            $accion = 1;
            // Construye nombres de
            $insert = "INSERT INTO $tabla (";
            $valores = " VALUES (";
            $query = mssql_query("select top 1 * from $tabla",$this->link);

            while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($arreglo as $valor => $x){
                    if($cCampo == $valor and $arreglo[$cCampo] != ''){
			$insert .= $cCampo.",";
			if($field->type == "datetime")
                            $valores .= $com.$fechas->formatofecha($arreglo[$cCampo])."$com,";
                        else
                            $valores .= $com.$arreglo[$cCampo]."$com,";
                    }
                }
            }
            $insert .= " fCreacion)";
            $valores .= "'$dHoy')";
            $sql = $insert.$valores;
            //echo $sql."<br>";

        } else {

            $accion = 2;
            $bX1 = 0; $bX2 = 0;
		// Construye nombres de campos
            $sql = '';
            $update = "UPDATE $tabla SET ";
            $query = mssql_query("select top 1 * from $tabla",$this->link);
            while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($arreglo as $valor => $x){
                    if($cCampo == $valor and $arreglo[$cCampo] != '' and $cCampo != 'id_principal' and $cCampo != 'id_unidad'){

			if($field->type == "datetime") {
                            $valores = $com.$fechas->formatofecha($arreglo[$cCampo])."$com,";
                            //$valores = $com.$arreglo[$cCampo]."$com,";
			}else{
                            $valores = $com.utf8_decode($this->limpia_cadena($arreglo[$cCampo])).$com.",";
			}
			$sql .= $cCampo." = ".rtrim($valores);
                    }


                    if ($cCampo == $valor && $arreglo[$cCampo] == '') {
                        //echo $cCampo."<br>";
                        switch($cCampo) {
                            case 'nEmbarazada':
                            case 'nMesesE':
                            case 'nEntidad_Nacimiento':
                                $valores = "NULL,";
                                $sql .= $cCampo." = ".rtrim($valores);
                            break;
                        }
                    }

                    if ($arreglo['ciclo'] == 2){
                        if (($valor == 'nVacuna_desconoceX1' and $arreglo['nVacuna_desconoceX1']== 1 and $bX1 ==0) || ($cCampo == 'fVacuna_estacional' && $arreglo['nVacunadoX1'] > 1 and $bX1 == 0))
                        {
                            $valorn1 = 'fVacuna_estacional';
                            $valores = "NULL,";
                            $bX1 = 1;
                            $sql .= $valorn1." = ".rtrim($valores);
                        }
                        if (($valor == 'nVacuna_desconoceX2' and $arreglo['nVacuna_desconoceX2']== 2 and $bX2 ==0) || ($cCampo == 'fVacuna_h1n1' && $arreglo['nVacunadoX2'] > 1 and $bX2 == 0))
                        {
                            $valorn2 = 'fVacuna_h1n1';
                            $valores = "NULL,";
                            $bX2 = 1;
                            $sql .= $valorn2." = ".rtrim($valores);
                        }
			/*

                        if ($cCampo == $valor and $arreglo[$cCampo] == '' && $valor == "nVacuna_desconoce") {
                                $sql .= "nVacuna_desconoce = NULL,";
                        }
                        if(($cCampo == 'fVacuna_estacional' && $arreglo['nVacunadoX1'] > 1 ) || ($cCampo == 'fVacuna_h1n1' && $arreglo['nVacunadoX2'] > 1 ) ) {
                            $valores = "'NULL',";
                        }

                        if($cCampo != 'fVacuna_estacional' && $cCampo != 'fVacuna_h1n1'){
                           $sql .= $cCampo." = ".rtrim($valores);
                        }elseif ($cCampo == 'fVacuna_estacional' && $bX1 == 0){
                           $sql .= $cCampo." = ".rtrim($valores);
                        }elseif ($cCampo == 'fVacuna_h1n1' && $bX2 == 0){
                           $sql .= $cCampo." = ".rtrim($valores);
                        }*/
                    }
                }
            }


            $evolu = "";
            if(isset($nEvolucion)){
            //validaciones evoluion
                if($nEvolucion == 5 || $nEvolucion == 7 || $nEvolucion == 8 || $nEvolucion == 9){
                    $evolu = "";
                }else{
                    $evolu = " ,";
                }
                if($nEvolucion == 1){
                    $evolu .= "nIntubacion = NULL, nDclinico = NULL ";
                }
                if($nEvolucion == 2){
                    $evolu .= "nsubevolucion = NULL";
                }
                if($nEvolucion == 3){
                    $evolu .= "nsubevolucion = NULL, nIntubacion = NULL";
                }
                if($nEvolucion == 4){
                    $evolu .= "nsubevolucion = NULL, nIntubacion = NULL, nDclinico = NULL";
                }
           }



            $sql = substr($sql,0,-1);
           // echo $sql."<br>";//exit;
            switch($tabla) {
                case 'dat_generales':
                    $sql = $update.$sql." WHERE id_principal = $id_generales";
                break;
                case 'dat_registro':
                    $sql = $update.$sql.$evolu." WHERE id_principal = $id_principal ";
                    //$sql = $update.$sql." WHERE id_principal = $id_principal";
                break;
            }

        }


       //echo $sql;

         $ejecutaQuerys = mssql_query($sql,$this->link) or die(mssql_get_last_message());
         //echo "ciclo ".$arreglo['ciclo'];

      return $ejecutaQuerys;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011A9 end
    }

    /**
     * Short description of method insertaRegistro
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int tabla
     * @param  int id_unidad
     * @param  int id_sector
     * @param  int nTipoPaciente
     * @return void
     */
    public function insertaRegistro($tabla, $id_unidad, $id_sector, $nTipoPaciente)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011AB begin
        $sql_last="SELECT IDENT_CURRENT('$tabla')";
        $res = mssql_query($sql_last,$this->link) or die(mssql_get_last_message());
        list($last) = mssql_fetch_array($res);
        $id_generales = $last;
        $insert_reg = "
            INSERT INTO dat_registro (id_generales,id_unidad, id_sector, nTipoPaciente, fCreacion, fModificacion)
		VALUES ($id_generales,$id_unidad, $id_sector,$nTipoPaciente,getdate(),getdate())";
        //echo $insert_reg;

        $ejecuta_insert = mssql_query($insert_reg,$this->link) or die(mssql_get_last_message());
        if ($ejecuta_insert) {
            $sql_last="SELECT IDENT_CURRENT('dat_registro')";
            $res = mssql_query($sql_last,$this->link) or die(mssql_get_last_message());
            list($lastp) = mssql_fetch_array($res);
            $id_principal = $lastp;

            $update_reg = "update influenza..dat_registro
                set cFolio = case when dg.nEntidad < 10 then '0' else '' end
                + convert(varchar(2),dg.nEntidad) + CAST(dg.id_sector as varchar(1))
                + cast(dr.id_principal as varchar(10))
                from influenza..dat_registro dr
                inner join influenza..dat_generales dg on dg.id_principal = dr.id_generales
                where dr.id_principal = $id_principal";

            /*$sql_folio = "select folio =
            case when nEntidad < 10 then '0' else '' end + convert(varchar(2),nEntidad)
            +''+RTRIM(convert(char(2),id_sector))
            from dat_generales where id_principal = $id_generales";
            $res_folio = mssql_query($sql_folio,$this->link);
            $datos_folio = mssql_fetch_array($res_folio);
            $folio = $datos_folio['folio'];

            $update_reg = "UPDATE dat_registro SET cFolio = convert(varchar(20),'$folio')+convert(varchar(20),id_principal)
                            WHERE id_principal = $id_principal";*/
                //echo $update_reg;
            mssql_query($update_reg,$this->link);
            return $id_generales;
        }
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011AB end
    }

    /**
     * Short description of method registrarAuxMuestra
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int id_generales
     * @return void
     */
    public function registrarAuxMuestra($id_principal, $id_generales)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011AD begin
        $sql_aux = "SELECT * FROM aux_muestras WHERE id_principal = $id_principal";
        //echo $sql_aux;
        $res_aux = mssql_query($sql_aux,$this->link);
        $datos_aux = mssql_fetch_array($res_aux);
        $num_muestras = mssql_num_rows($res_aux);

        $insert_aux = "INSERT INTO aux_muestras (id_principal,fCreacion, fModificacion) VALUES ($id_principal,getdate(),getdate())";
        if ($num_muestras == 0 ) {
            //echo $insert_aux;
            $ejecuta_insert = mssql_query($insert_aux,$this->link);
        }
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011AD end
    }

    /**
     * Short description of method actualizaAuxMuestra
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int lEntidad
     * @param  int id_sector
     * @param  int nLaboratorio
     * @param  int fechas
     * @return void
     */
    public function actualizaAuxMuestra($id_principal, $lEntidad, $id_sector, $nLaboratorio, $fechas)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011AF begin
         if(!$nLaboratorio == 0){
            $update = "UPDATE aux_muestras SET ";
            $query = mssql_query("select top 1 * from aux_muestras",$this->link);
            $sqlm='';
            while($field = mssql_fetch_field($query)){
                $cCampo = $field->name;
                if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
                foreach($arreglo as $valor => $x){
                    $campoValor = $cCampo;
                //  eval("\$campoValor = \"$campoValor\";");
                    if($cCampo == $valor and $campoValor != '' and $cCampo != 'id_principal' and $cCampo != 'id_unidad'){
                        if($field->type == "datetime") {
                           // echo $campoValor."<br>";
                            $valores = $com.$fechas->formatofecha($arreglo[$cCampo])."$com,";
                        }else{
                            $valores = $com.$arreglo[$cCampo].$com.",";
                        }
                        $sqlm.= $cCampo." = ".rtrim($valores);
                    }
                }
            }

            $sqlidm = "select id_muestras from aux_muestras where id_principal = $id_principal";
            $residm = mssql_query($sqlidm,$this->link);
            $datosidm = mssql_fetch_array($residm);

            // quita ultima coma
            $sqlm = substr($sqlm,0,-1);
            $sqlm = $update.$sqlm.", cFolio = '$lEntidad$id_sector$id_principal$datosidm[0]' WHERE id_principal = $id_principal ";
            //echo $sqlm."<br>";

            $ejecutaQuerysM = mssql_query($sqlm,$this->link) or die("Muestras: ".mssql_get_last_message());

            return $ejecutaQuerysM;
        }
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011AF end
    }

    /**
     * Short description of method insertaLaboratorio
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int id_generales
     * @param  int nTipoMuestra
     * @param  int nLaboratorio
     * @param  int fToma
     * @param  int fechas
     * @return void
     */
    public function insertaLaboratorio($id_principal, $id_generales, $nTipoMuestra, $nLaboratorio, $fToma, $fechas)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B1 begin
        $fToma = $fechas->formatofecha($fToma);
        $sql_aux = "SELECT * FROM aux_muestras WHERE id_principal = $id_principal and nTipoMuestra=$nTipoMuestra
                    and fToma='$fToma' and nLaboratorio = $nLaboratorio";

        $res_aux = mssql_query($sql_aux,$this->link);
        $datos_aux = mssql_fetch_array($res_aux);
        $num_muestras = mssql_num_rows($res_aux);
        $id_muestras = $datos_aux['id_muestras'];
        $nTipoMuestra = $datos_aux['nTipoMuestra'];
        $id_dat_lab   = $datos_aux['id_dat_laboratorio'];
        $fMuestra     = $fechas->formatofecha($fechas->convertdate5($datos_aux['fToma']));
        $nLaboratorio = $datos_aux['nLaboratorio'];

        $sql_reg = "SELECT id_sector,id_unidad, id_generales, fSintoma_inicial FROM dat_registro WHERE id_principal = $id_principal";
        $res_reg = mssql_query($sql_reg,$this->link);
        $datos_reg = mssql_fetch_array($res_reg);
        $fSintoma     = $fechas->formatofecha($fechas->convertdate5($datos_reg['fSintoma_inicial']));
        $id_generales = $datos_reg['id_generales'];
        $id_sector    = $datos_reg['id_sector'];
        $id_unidad    = $datos_reg['id_unidad'];

        $sql_gen = "SELECT * from dat_generales where id_principal = $id_generales";
        $res_gen = mssql_query($sql_gen,$this->link);
        $datos_gen = mssql_fetch_array($res_gen);
        $id_entidad   = $datos_gen['nEntidad'];

        $lEntidad = ($id_entidad < 10 ) ? "0".$id_entidad: $id_entidad;
        $folio = $lEntidad.$id_sector.$id_principal;
        $update_reg = "UPDATE dat_registro set cFolio=$folio WHERE id_principal = $id_principal";
        mssql_query($update_reg,$this->link);
        $folio_lab =  $folio.$id_muestras;

        if ($id_dat_lab > 0) {
            $sql_lab = "UPDATE dat_laboratorio SET fSintoma_inicial = '$fSintoma', fMuestra = '$fMuestra',
			nTipoMuestra = $nTipoMuestra, id_generales=$id_generales,fModificacion = getdate(),
			id_laboratorio = $nLaboratorio WHERE id_principal = $id_dat_lab";
           //echo "update lab".$sql_lab."<br>";
            $res_lab = mssql_query($sql_lab,$this->link);
            $update_aux = "UPDATE aux_muestras SET id_dat_laboratorio=$id_dat_lab, cFolio = '$folio_lab' WHERE id_principal = $id_principal and nTipoMuestra=$nTipoMuestra and fToma='$fToma' and nLaboratorio = $nLaboratorio";
            mssql_query($update_aux,$this->link);

        } else {
            $sql_lab = "INSERT INTO dat_laboratorio (id_laboratorio, id_sector,  id_unidad, id_registro,
			fSintoma_inicial, fMuestra, nTipoMuestra, nEstudio, id_generales, fCreacion)
			VALUES ($nLaboratorio,$id_sector,$id_unidad,$id_principal,'$fSintoma','$fMuestra',$nTipoMuestra,1,$id_generales,getdate())";
            //echo "insert lab".$sql_lab."<br>";
            mssql_query($sql_lab,$this->link);

            $sql_last="SELECT IDENT_CURRENT('dat_laboratorio')";
            $res_last = mssql_query($sql_last,$this->link) or die(mssql_get_last_message());
            list($id_dat_lab) = mssql_fetch_array($res_last);

            $update_aux = "UPDATE aux_muestras SET id_dat_laboratorio=$id_dat_lab, cFolio = '$folio_lab' WHERE id_principal = $id_principal and nTipoMuestra=$nTipoMuestra and fToma='$fToma' and nLaboratorio = $nLaboratorio";
            mssql_query($update_aux,$this->link);
        }
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B1 end
    }

    /**
     * Short description of method datosPaciente
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @return void
     */
    public function datosPaciente($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B3 begin
        //echo "SP_datPacientes ". $id_principal;
        $paciente=$this->ejecutaSP("SP_datPacientes", $id_principal);

        $stpSintomas=mssql_init("SP_muestraSintomaPaciente",$this->link);
        mssql_bind($stpSintomas,'@param',$id_principal,SQLVARCHAR,false,false,10);
        $ResSintomas=mssql_execute($stpSintomas);

        $stpCoMorbilidad=mssql_init("SP_muestraCoMorbilidadPaciente",$this->link);
        mssql_bind($stpCoMorbilidad,'@param',$id_principal,SQLVARCHAR,false,false,10);
        $ResCoMor=mssql_execute($stpCoMorbilidad);

       $datPas="<tr><td colspan=\"5\" align=\"center\">DATOS GENERALES DEL PACIENTE</td></tr><tr>";
       $datPas.="<td width=\"136\">Nombre completo:</td>";
       $datPas.="<td width=\"298\"><b>".$paciente['cNombre']." ".$paciente['cPaterno']." ".$paciente['cMaterno']."</b></td>";
       $datPas.="<td width=\"34\">Sexo:</td>";
       $datPas.="<td width=\"95\"><b>".($paciente['nSexo']==1?"HOMBRE":"MUJER")."</b></td>";
       $datPas.="<td width=\"187\">Fecha de Nacimiento:<b>".$paciente['nDias']."/".$paciente['nMeses']."/".$paciente['nAnio']."</b></td>";
       $datPas.="</tr><tr>";
       $datPas.="<td>Entidad de residencia:&nbsp;</td>";
       $datPas.="<td colspan=\"3\"><b>".$paciente['entidad'].",".$paciente['municipio']."</b></td>";
       $datPas.="<td>CURP:<b>".$paciente['curp']."</b></td></tr>";
       $datPas.="<tr><td colspan=\"5\">";
       $datPas.="<table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">";
       $datPas.="<tr><td class=\"datos\">Inicio de sintomas:<b>".$paciente['fSintoma_inicial']."</b></td>";

       $datPas.="<td class=\"datos\">Fecha de la muestra:<b>".$paciente['fMuestra']."</b>";
       $datPas.="<input type=\"hidden\" name=\"fMuestra\" id=\"fMuestra\" value='".$paciente['fMuestra']."' /></td>";
       $datPas.="<td class=\"datos\">Fecha de Registro del Caso:<b>".$paciente['fCaso']."</b></td></tr>";
       $datPas.="<tr><td colspan=\"3\"  class=\"datos\">SINTOMAS:<span class=\"datos\"><b>";
       While($resulSintoma=mssql_fetch_object($ResSintomas)){$datPas.=$resulSintoma->sintoma.", ";}
       $datPas.="</b></span></td>";
       $datPas.="<tr><td colspan=\"3\"  class=\"datos\">CO-MORBILIDAD:<span class=\"datos\"><b>";
       While($resulCoMorbi=mssql_fetch_object($ResCoMor)){$datPas.=$resulCoMorbi->diagnostico.", ";}
       $datPas.="</b></span></td></tr></table>";
       return $datPas;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B3 end
    }



     /**
     * Short description of method imprimeDatosPaciente
     *
     * @access public
     * @author firstname and lastname of author, <author@example.org>
     * @param  int id_principal
     * @return void
     */
    public function imprimeDatosPaciente($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B5 begin
         $sql = "SELECT top 1 * FROM dat_registro";
        if ($id_principal != '') {
            $sql.= " WHERE id_principal = $id_principal";
        }

        $datos_paciente = array();
        $resultSet = mssql_query($sql,$this->link) or die(mssql_get_last_message());
        if ($regresaCampos == 1) {
            while($field = mssql_fetch_field($resultSet)){
                $datos_paciente[$field->name] = '';
            }
        } else {
            $datos_paciente = mssql_fetch_array($resultSet);
        }
        return $datos_paciente;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B5 end
    }



    /**
     * Short description of method muestraDatosPaciente
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int tabla
     * @param  int regresaCampos     
     * @return void
     */
    public function muestraDatosPaciente($id_principal, $tabla, $regresaCampos = 0)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B7 begin
          $sql = "SELECT top 1 * FROM $tabla";
        if ($id_principal != '') {
            $sql.= " WHERE id_principal = $id_principal";
        }

        $datos_paciente = array();
        $resultSet = mssql_query($sql,$this->link) or die(mssql_get_last_message());
        if ($regresaCampos == 1) {
            while($field = mssql_fetch_field($resultSet)){
                $datos_paciente[$field->name] = '';
            }
        } else {
            $datos_paciente = mssql_fetch_array($resultSet);
        }
        return $datos_paciente;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B7 end
    }

    /**
     * Short description of method bitacoraRegistro
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int tabla
     * @param  int accion
     * @return void
     */
    public function bitacoraRegistro($id_principal, $tabla, $accion)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B9 begin
        // si inserto un nuevo registro, guarda el id principal
        $datos_reg = array();
        if(!$id_principal){
            $sql_last="SELECT IDENT_CURRENT('$tabla')";
            $res = mssql_query($sql_last,$this->link) or die(mssql_get_last_message());
            list($last) = mssql_fetch_array($res);

            if ($tabla == 'dat_generales') {
                $datos_reg['id_generales']=$last;
                $sqlr="SELECT id_principal from dat_registro where id_generales = $last";
                $resr = mssql_query($sqlr,$this->link) or die(mssql_get_last_message());
                list($lastr) = mssql_fetch_array($resr);
                $datos_reg['id_principal']=$lastr;
            } else {
                $datos_reg['id_principal']=$last;
            }
        }else{
            $last = $id_principal;
            $datos_reg['id_principal']=$last;
        }
        // Agrega registro a la bitacora de seguridad
	$iplocal = $_SERVER['REMOTE_ADDR'];
	$host = gethostbyaddr($_SERVER['REMOTE_ADDR']);
	$user = $_SESSION['id_usuario'];
	$query_bitacora = "INSERT INTO aux_bitacora (id_principal,cIp,id_usuario,nAccion,cTabla,cHost)
		VALUES ($last,'$iplocal',$user,$accion,'$tabla','$host')";
	//echo $query_bitacora;

	mssql_query($query_bitacora,$this->link);
        return $datos_reg;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011B9 end
    }

    /**
     * Short description of method datosRegistro
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @return void
     */
    public function datosRegistro($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011BB begin
        return $this->ejecutaSP("SP_datosRegistro", $id_principal);
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011BB end
    }

    /**
     * Short description of method datosLaboratorio
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @return void
     */
    public function datosLaboratorio($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011BD begin
        $sql_lab="SELECT * from dat_laboratorio where id_registro = $id_principal";
        $res_lab = mssql_query($sql_lab,$this->link);
        $datos_lab = mssql_fetch_array($res_lab);
        return $datos_lab;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011BD end
    }

    /**
     * Short description of method regSintomasPaciente
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @return void
     */
    public function regSintomasPaciente($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011BF begin
       $fondo=''; $cnt=0;
       $tipo=1;
       $resultSint =  "
        <table align='center'>
        <tr class='folios' bgcolor='#f3f3f3'>
            <td class='datos' colspan='2' ><b>A PARTIR DE LA FECHA <label id=\"fsin\">--</label>
            <br> TIENE O HA TENIDO ALGUNO DE LOS SIGUIENTES SINTOMAS?*</b></td>
        </tr>
        <tr><td class='datos'>";

        //selecciona el catalogo de sintomas
        $stp_cat=mssql_init("SP_catSintomas",$this->link);
        mssql_bind($stp_cat,"@tipo",$tipo,SQLVARCHAR,false,false,3);
        $resultCat=mssql_execute($stp_cat);
        $registros_sintomas = mssql_num_rows($resultCat);
	while ($cat_sint= mssql_fetch_array($resultCat)) {            
            //Muestra los sintomas por paciente
            if ($id_principal > 0) {
                $stp_aux=mssql_init("SP_auxSintomas",$this->link);
                mssql_bind($stp_aux,"@id_registro",$id_principal,SQLVARCHAR,false,false,10);
                mssql_bind($stp_aux,"@id_sintomas",$cat_sint['id_sintomas'],SQLVARCHAR,false,false,10);
                $resultAux= mssql_execute($stp_aux);
                $dat_sint = mssql_fetch_array($resultAux);
            } else {
                $dat_sint['id_decision']='';
            }
            
            $fondo = ($fondo=='#f3f3f3'?'#FFFFFF':'#f3f3f3');            
            $cnt++;
            $resultSint.= "<tr bgcolor='$fondo'>";
            $resultSint.= "<td>$cat_sint[sintoma]</td>
            <td><input type='hidden' name='id_sintoma$cnt' id='id_sintoma$cnt' value='$cat_sint[id_sintomas]' />";
            if($dat_sint['id_decision'] == '' and $cnt > 7){
               $indef = 3;
            }else{
               $indef = $dat_sint['id_decision'];
            }
            $resultSint.= $this->cmbDecisionA('',"nSintoma$cnt", '', '',$indef,'')."</td></tr>";
            
	}
        $resultSint.= "</td></tr>
            <tr><td>
            <input type=\"hidden\" name=\"registros_sintomas\" id=\"registros_sintomas\" value=\"$registros_sintomas\" />
            </td></tr>
            </table>
            ";
        return $resultSint;

        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011BF end
    }

    /**
     * Short description of method regCoMorbilidad
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @return void
     */
    public function regCoMorbilidad($id_principal)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C1 begin
        $fondo=''; $cnd=0;
        $tipo = 3;
        $resultDiag = "
        <table align='center'>
          <tr class='folios' bgcolor='#f3f3f3'>
            <td colspan='2'>
            <b>CO-MORBILIDAD:*</b><br></td>
         </tr><tr><td class='datos'>";

        //selecciona el catalogo de diagnosticos
        $stp=mssql_init("SP_catDiagnosticos",$this->link);
        mssql_bind($stp,"@tipo",$tipo,SQLVARCHAR,false,false,3);
        $resultCat=mssql_execute($stp);
        $registros_diagnostico = mssql_num_rows($resultCat);
        while($cat_diag=mssql_fetch_array($resultCat)){

            if ($id_principal > 0) {
                //Muestra los diagnosticos por paciente
                $stp_aux=mssql_init("SP_auxDiagnosticos",$this->link);
                mssql_bind($stp_aux,"@id_registro",$id_principal,SQLVARCHAR,false,false,10);
                mssql_bind($stp_aux,"@id_diagnostico",$cat_diag['id_diagnostico'],SQLVARCHAR,false,false,10);
                $resultAux= mssql_execute($stp_aux);
                $dat_diag = mssql_fetch_array($resultAux);
            }

            $fondo = ($fondo=='#f3f3f3'?'#FFFFFF':'#f3f3f3');
            $cnd++;
            $resultDiag.= "<tr bgcolor='$fondo'>";
            $resultDiag.= "<td>$cat_diag[diagnostico]</td>
                           <td><input type='hidden' name='id_diagnostico$cnd' id='id_diagnostico$cnd' value='$cat_diag[id_diagnostico]' />";
            $valor_decision = (isset($dat_diag['id_decision'])) ? $dat_diag['id_decision'] : '';
            if ($cat_diag['id_diagnostico'] == 69) {
                $diag_Otros = (isset($dat_diag['cOtros'])) ? $dat_diag['cOtros'] : '';
                $abrir_od = ($valor_decision == 1) ? "block": "none";
                $resultDiag.= $this->cmbDecisionA('',"nDiagnostico$cnd", 'otroDiag(this.value)', '',$valor_decision,'')."</td></tr>";
                $resultDiag.="<tr><td colspan=\"3\">
        <div id=\"diagOtros\" style=\"display: $abrir_od\">
        <table><tr>
          <td colspan=\"2\"> * ESPECIFIQUE:
          <input type='text' name='cOtros' id='cOtros' value='$diag_Otros'>
           </td></tr>
        </table>
        </div></td></tr>";
            } else {
                $resultDiag.= $this->cmbDecisionA('',"nDiagnostico$cnd", '', '',$valor_decision,'')."</td></tr>";
            }




	}


	$resultDiag.="</td></tr>
         <tr><td>
        <input type=\"hidden\" name=\"registros_diagnostico\" id=\"registros_diagnostico\" value=\"$registros_diagnostico\" />
         </td></tr>
         </table>";
        return $resultDiag;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C1 end
    }

    /**
     * Short description of method registroSintomas
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int registros_sintomas
     * @return void
     */
    public function registroSintomas($id_principal, $registros_sintomas, $arreglo)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C3 begin
        $dHoy = date("Ymd H:i:s");
        $id_sintoma = 'id_sintoma';
	$nSintoma = 'nSintoma';
	$sql_sint = "";
	for($i=1; $i<=$registros_sintomas;$i++)
	{
		$hi = '$id_sintoma$i';
		eval("\$hi = \"$hi\";");
		$hij = $arreglo[$hi];
		$hij =($hij?$hij:0);
		$c1 = '$nSintoma$i';
		eval("\$c1 = \"$c1\";");
		$cc1 = $arreglo[$c1];
		$cc1 =($cc1?$cc1:0);

    		if($cc1 != 0){
			$sql_sint.="insert into Aux_Sintomas (id_registro, id_sintoma, id_decision, fCreacion)
					VALUES ($id_principal, $hij,$cc1, '$dHoy');";

		}

	}
        //echo $sql_sint."<br>";
        $sql_del = "delete from Aux_Sintomas WHERE id_registro = $id_principal";
        //echo $sql_del."<br>";
	if(mssql_query($sql_del,$this->link))
            mssql_query($sql_sint,$this->link) or die("Sintomas: ".mssql_get_last_message());
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C3 end
    }

    /**
     * Short description of method registroDiagnosticos
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int registros_diagnostico
     * @return void
     */
    public function registroDiagnosticos($id_principal, $registros_diagnostico, $arreglo)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C5 begin
        $dHoy = date("Ymd H:i:s");
        $id_diagnostico = 'id_diagnostico';
	$nDiagnostico = 'nDiagnostico';
	$sql_diag = "";
	for($i=1; $i<=$registros_diagnostico;$i++)
	{
		$hi = '$id_diagnostico$i';
		eval("\$hi = \"$hi\";");
		$hij = $arreglo[$hi];
		$hij =($hij?$hij:0);

		$c1 = '$nDiagnostico$i';
		eval("\$c1 = \"$c1\";");
		$cc1 = $arreglo[$c1];
		$cc1 =($cc1?$cc1:0);

		if($cc1 != 0){
                    if ($hij==69 && $cc1 == 1) {
                        $sql_diag.="insert into Aux_Diagnosticos(id_registro, id_diagnostico, id_decision, fCreacion, cOtros) VALUES ($id_principal, $hij, $cc1,'$dHoy','$arreglo[cOtros]');";
                    } else {
                        $sql_diag.="insert into Aux_Diagnosticos(id_registro, id_diagnostico, id_decision, fCreacion) VALUES ($id_principal, $hij, $cc1,'$dHoy');";
                    }
		}

	}
       // echo $sql_diag."<br>";

	$sql_del = "delete from Aux_Diagnosticos WHERE id_registro = $id_principal";
	if(mssql_query($sql_del,$this->link))
		if(!mssql_query($sql_diag,$this->link))
			echo "Error en el registro de diagnosticos: ".mssql_get_last_message();
	//echo "guardo morbilidad";

        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C5 end
    }

    /**
     * Short description of method completaRegistro
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_principal
     * @param  int id_generales
     * @param  int nStatus
     * @return void
     */
    public function completaRegistro($id_principal, $id_generales, $nStatus)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C7 begin
        $sqls="update dat_generales set nStatus = $nStatus where id_principal = $id_generales;
               update dat_registro set nStatus = $nStatus where id_principal = $id_principal ";
	$ejecutaQueryss = mssql_query($sqls,$this->link);
        return $ejecutaQueryss;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C7 end
    }

    /**
     * Short description of method guardarMuestra
     *
     * @access public
     * @author Oscar Galindo, <oscar.galindo@ptis.uadec.mx>
     * @param  int id_muestras2
     * @param  int id_principal
     * @param  int tablam
     * @param  int fechas
     * @param  int arreglo
     * @return void
     */
    public function guardarMuestra($id_muestras2, $id_principal, $tablam, $fechas, $arreglo)
    {
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C9 begin
        $dHoy = date("Ymd H:i:s");

        if (!$id_muestras2 > 0) {
            // Construye nombres de campos
            $insert = "INSERT INTO $tablam (";
            $valores = " VALUES (";
            $query = mssql_query("select top 1 * from $tablam",$this->link);
            while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($arreglo as $valor => $x){
                    //$campoValor = "$".$cCampo;
                    //eval("\$campoValor = \"$campoValor\";");
                    if($cCampo == $valor and $arreglo[$cCampo] != ''){
                        $insert .= $cCampo.",";
			if($field->type == "datetime")
                            $valores .= $com.$fechas->formatofecha($arreglo[$cCampo])."$com,";
                        else
                            $valores .= $com.$arreglo[$cCampo]."$com,";
                    }
                }
            }
            $insert .= " fCreacion)";
            $valores .= "'$dHoy')";
            $sql = $insert.$valores;
           // echo $sql;
        } else {
            // Construye nombres de campos
            $sql='';
            $update = "UPDATE $tablam SET ";
            $query = mssql_query("select top 1 * from $tablam",$this->link);
            while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($arreglo as $valor => $x){
		//$campoValor = "$".$cCampo;
		//eval("\$campoValor = \"$campoValor\";");
                    if($cCampo == $valor and $arreglo[$cCampo] != '' and $cCampo != 'id_principal' and $cCampo != 'id_unidad'){
			if($field->type == "datetime") {
                            $valores = $com.$fechas->formatofecha($arreglo[$cCampo])."$com,";
			}else{
                            $valores = $com.$arreglo[$cCampo].$com.",";
			}
			$sql .= $cCampo." = ".rtrim($valores);
                    }
		}
            }
            // quita ultima coma
            $sql = substr($sql,0,-1);
            $sql = $update.$sql." , id_principal = $id_principal WHERE id_muestras = $id_muestras2";
        }

        $ejecutaQuerys = mssql_query($sql,$this->link) or die(mssql_get_last_message());

        return $ejecutaQuerys;
        // section 10-16-10-107--4b25000a:127e31bc32e:-8000:00000000000011C9 end
    }

} /* end of class funcReg */

?>